package br.com.sisgerenciamento.empresa;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import br.com.sisgerenciamento.dto.empresa.EmpresaDTO;
import br.com.sisgerenciamento.exceptions.ApplicationException;
import br.com.sisgerenciamento.facade.empresa.EmpresaFacade;
import br.com.sisgerenciamento.util.Mensagem;

public class EmpresaAction extends DispatchAction{

	public ActionForward inicio( ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response){
		EmpresaForm form = (EmpresaForm) actionForm;
		try {
			EmpresaDTO dto =  EmpresaFacade.getInstance().getEmpresa();
			if(dto != null){
				form.setEmpresa(dto);
			}else{
				form.setEmpresa(new EmpresaDTO());
			}
		} catch (ApplicationException e) {
			form.addMensagem(request, Mensagem.ERRO, e.getMessage());
		}
		
		return mapping.findForward( "inicio" );
	}
	
	public ActionForward salvar( ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response){
		EmpresaForm form = (EmpresaForm) actionForm;
		try{
			form.getEmpresa().validar();

			EmpresaFacade.getInstance().salvar(form.getEmpresa());	
			form.addMensagem(request, Mensagem.SUCESSO, "Dados salvos com sucesso!");
		}catch (Exception e) {
			form.addMensagem(request, Mensagem.ERRO, e.getMessage());
		}
		
		return mapping.findForward( "inicio" );
	}
}
